package com.zw.mes.entity.technology;

import com.fasterxml.jackson.annotation.JsonFormat;

import com.zw.mes.base.BaseModel;
import com.zw.mes.entity.flow.FlowDetail;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.persistence.Column;
import java.util.Date;
import java.util.List;

/**
 * @Description: 工艺任务明细表
 * @Author: China.sgl
 * @Date: 2020/8/5 14:28
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class Tecard extends BaseModel {

    private Integer id;
    /** 项目ID */
    private Integer proId;
    /** 来源表初始ID */
    private  Integer sheetId;
    /** 图纸类型 */
    private Integer drawType;
    /** 项目编号 */
    private String proCode;
    /** 项目名称 */
    private String proName;
    /** 项目数量 */
    private String proNum;
    /** 专业 */
    private String special;
    /** 专业ID */
    private Integer specialId;
    /** 部分 */
    private String part;
    /** 部分ID */
    private String partId;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date creatTime;
    /** 分配科室ID */
    private Integer deptId;
    /** 分配科室名称 */
    private String deptName;
    /** 分配科室人 */
    private String distributionName;
    /** 分配时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date distributionTime;
    /** 任务是否下达 */
    private Integer isRelease;
    /** 备注 */
    private String remark;
    /** 总图号 */
    private String generalDrawingNo;
    /** 是否定额   1=未转， 2=部分转， 3全转 */
    private Integer isQuota;
    /** 转定额时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date turnQuotaTime;
    /** 定额提交 1=未提交， 2=部分提交， 3=全提交 */
    private Integer isCommit;
    /** 定额提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date commitTime;
    /** 审核通过时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date verifyTime;
    /** 设计科室ID */
    private Integer sectionId;
    /** 设计科室名称 */
    private String sectionName;
    /** 状态位 0=使用中。1=删除 */
    private Integer isDel = 0;
    /** 审批人 */
    private String checkNames;
    private Integer bid;
    /** 审批状态 1=审批通过，0=未审批*/
    private Integer isSuccess;
    /** 规格 */
    private String spec;

    /** 结果表ID */
    private Integer resultId;
    /** 拆分父级ID 工艺拆分图纸对应的拆分ID */
    private Integer detailPid;
    /** 拆分创建人 */
    private String creatName;
    /** 最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date lastTime;
    /** 图号 */
    private String drawNo;
    /** 图号排序 */
    private Integer orderNum;
    /** 图号排序PID */
    private Integer pid;
    /** 零件数量 */
    private Integer drawNum;
    /** 零件名称 */
    private String drawName;
    /** 重量 */
    private String weight;
    /** 规格 */
    private String specification;
    /** 零件类型= 制作件、装配件 */
    private String makeType;
    /** 材质 */
    private String quality;
    /** 附件 */
    private String url;
    /** 变更类型_目录 1修改、2删除、3增加、0原始单 */
    private Integer technologyChange;
    /** 变更类型 1图纸变更、2图纸目录变更、3都变更0、原始单 */
    private Integer changeType;
    /** 变更处理标识 0=未处理，1=已处理 */
    private Integer changeStatus;
    /** 是否需要工艺卡 */
    private Integer isNeedCard;
    private Integer makeDetailId;
    private Integer cardStatus;
    private String createNameOne;
    private Integer notifyStatus;
    private Integer changeCommit;
    private Integer changeNotify;
    /** 主表外键 */
    private Integer cardId;
    /** 路线 */
    private String routeCode;
    private String route;
    /** 序号 */
    private Integer orderNo;
    /** 工序 */
    private String process;
    /** 设备名称 */
    private String equName;
    /** 工艺内容 */
    private String craftContent;
    /** 工时 */
    @Column(columnDefinition = "decimal(10,2)")
    private Double workTimeOne;
    @Column(columnDefinition = "decimal(10,2)")
    private Double workTimeTwo;
    /** 是否可以变更  0=默认，1=是 */
    @Column(columnDefinition = "tinyint")
    private Integer mayChange;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    /** 项目单位 */
    private String proUnit;
    /** 工艺任务从表ID */
    private Integer craMakeDetailId;
    /** 第一创建人 */
    private String createCodeOne;
    private String createTel;
    /** 第二创建人 */
    private String createCodeTwo;
    private String createNameTwo;
    /** 创建人所属科室ID */
    private Integer branchId;
    /** 创建人所属科室名称 */
    private String branchName;
    /** 校对人员 */
    private String verifyCode;
    private String verifyName;
    /** 定额人员 */
    private String quotaCode;
    private String quotaName;
    private String quotaBranchName;
    /** 定额时间 */
    private Date quotaTime;
    /** 下达日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date notifyTime;
    /** 修改人员 */
    private String updateCode;
    private String updateName;
    /** 修改日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;
    /** 数据流程状态 1=默认（未提交），2=已提交（待转定额），3=已转定额（待提交），4=已提交（待审核） 5=审核完成转生产 */
    @Column(columnDefinition = "tinyint")
    private Integer status;
    /** 变更原因 */
    private String changeReason;
    /** 审核驳回原因 */
    private String rejectReason;

    /** 类型 1=加工，2=装配 */
    private Integer category;

    /** 接收人 */
    private String recCode;

    /** 接收人 */
    private String recName;

    /** 接收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date recTime;

    /** 工艺接收状态 0=未接收，1=已接收*/
    private Integer recStatus;

    private String prodNo;

    private List<FlowDetail> details;

    /** 创建人 */
    private String createCode;

    /** 创建人 */
    private String createName;

    /** 审核人 */
    private String checkCode;

    /** 审核人 */
    private String checkName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date checkTime;

    /** 给生产的变更工艺卡标识 0默认，1变更*/
    private Integer prodChange;

    private Integer cid;
    private Integer craSheetId;
    private Double total;
    private Integer cou;






}
